package com.elem.test;

import java.lang.reflect.Field;

public class ClassDemo03 {
    public static void main(String[] args) throws Exception {

        // 1. 通过Class类的静态方法forName()
        Class accountClass = Class.forName("com.neuedu.elem.test.Account");

        Object obj = accountClass.newInstance();

        // 2. 获取所有的Field对象
//        Field[] fields = accountClass.getFields();
//        Field[] fields = accountClass.getDeclaredFields();
//        for (Field field : fields) {
//            System.out.println(field);
//        }


        Field field = accountClass.getDeclaredField("money");
        // 绕过jvm权限访问检查。暴力反射---打破封装性
        field.setAccessible(true);
        // 设置值
        field.set(obj,20000);

        // 获取值
        Object o = field.get(obj);
        System.out.println(o);

    }
}
